package com.kaifamiao.convert;

import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Date;

/**
 * java.time.LocalDateTime ===> java.util.Date
 */
public class ToDateTest2 {

	public static void main(String[] args) {
		
		LocalDate date = LocalDate.now();
		LocalTime time = LocalTime.now();
		LocalDateTime datetime = LocalDateTime.of(date, time);
		
		// 获得系统默认时区
		// ZoneId zone = ZoneId.systemDefault();
		
		// 根据国际标准化组织制定的时区名称获得ZoneId实例
		ZoneId zone = ZoneId.of( "Asia/Shanghai" );
		// ZoneId zone = ZoneId.of( "Asia/Chongqing" );
		
		// 根据 LocalDateTime 实例获得携带有时区信息的 ZonedDateTime 实例
		// 根据 时区 将 LocalDateTime 实例 转换为 ZonedDateTime 实例
		ZonedDateTime zonedDateTime = datetime.atZone( zone ) ;
		// 使用 Instant 中的 from 方法将 ZonedDateTime 转换为 Instant 实例
		Instant instant = Instant.from( zonedDateTime );
		
		Date target = Date.from( instant ) ; 
		
		System.out.println( target );

	}

}
